/**
 * 活动实体类，对应投票系统中的活动表 tb_activity。
 * 包含活动的基本信息、时间、状态等。
 */
package com.example.project.entity;

import lombok.Data;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import java.util.Date;

@Data
@Entity
@Table(name = "tb_activity")
public class Activity {
    /**
     * 活动ID，主键唯一标识
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 活动发起人用户名
     */
    @Column(name = "author")
    private String author;

    /**
     * 活动标题
     */
    @Column(name = "title")
    private String title;

    /**
     * 活动内容描述
     */
    @Column(name = "content")
    private String content;

    /**
     * 活动状态（如进行中、已结束等）
     */
    @Column(name = "state")
    private String state;

    /**
     * 活动类型（如投票、问卷等）
     */
    @Column(name = "type")
    private String type;

    /**
     * 是否需要签到（如：Y/N）
     */
    @Column(name = "sign_in")
    private String signIn;

    /**
     * 是否启用验证码
     */
    @Column(name = "verify_code")
    private boolean verifyCode;

    /**
     * 活动开始时间
     */
    @Column(name = "start_time")
    private Date startTime;

    /**
     * 活动结束时间
     */
    @Column(name = "end_time")
    private Date endTime;

    /**
     * 活动创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 活动更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;
}
